# __str__
"""
    魔术方法：内置的函数，默认直接调用，如果需要改变返回值，需要重写
        __str__ :

    总结魔术方法：
        __init__ __str__

        了解
        __new__ 开辟空间，
        __del__ 没有指针调用的时候会调用  ：一般不需要重写

"""


class Person:

    # 不重写默认是None
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 魔术方法：重写了 ：<__main__.Person object at 0x0000022DE5135B88>
    def __str__(self):
        print(self.name)
        return "姓名：" + self.name + "年龄：" + str(self.age)


p = Person("张三", 18)
result = p.__str__()
print(result)
